package collection;

import java.util.ArrayList;
import java.util.Collection;
import java.util.HashSet;

/**
 * 集合之间的操作：并集、交集、差集
 */
public class CollectionDemo3 {
    public static void main(String[] args) {
        Collection c1 = new ArrayList();
        c1.add("java");
        c1.add("c++");
        c1.add(".net");
        System.out.println("c1:"+c1); //c1:[java, c++, .net]

        System.out.println("---------------------------------------");

        Collection c2 = new HashSet();
        c2.add("android");
        c2.add("ios");
        c2.add("java");
        System.out.println("c2:"+c2); //c2:[java, android, ios]

        System.out.println("---------------------------------------");

        /*
            boolean addAll(Collection c)
            将给定集合中的多有元素添加到当前集合中，取并集
         */
        //c1.addAll(c2);
        c2.addAll(c1);
        System.out.println("c1"+c1);
        System.out.println("c2:"+c2);

        System.out.println("---------------------------------------");

        Collection c3 = new ArrayList();
        c3.add("java");
        c3.add("c++");
        c3.add("php");
        System.out.println("c1:"+c1);
        System.out.println("c3:"+c3);
        /*
            retainAll去交集
            boolean retainAll(Colection c)
            仅保留当前集合中与给定集合的共有元素
         */
        c1.retainAll(c3);
        System.out.println("c1:"+c1);
        System.out.println("c3:"+c3);

        System.out.println("---------------------------------------");

        Collection c4 = new ArrayList();
        c4.add("android");
        c4.add("java");
        c4.add("c++");
        System.out.println("c2:"+c2);
        System.out.println("c4:"+c4);
        /*
            removeAll:差集操作
            boolean removeAll(Collection c)
            删除当前集合与给定集合的共有元素
         */
        c2.removeAll(c4);
        System.out.println("c2:"+c2);
        System.out.println("c4:"+c4);

        System.out.println("---------------------------------------");

        Collection c5 = new ArrayList();
        c5.add("c++");
        c5.add("ios");
        System.out.println("c5:"+c5);
        /*
            boolean containsAll(Collection c)
            判断当前集合是否包含给定集合中的所有元素
         */
        boolean containsAll = c2.containsAll(c5);
        System.out.println("c2是否包含c5的所有元素："+containsAll);


    }
}













